#include <iostream>
#include <stdio.h>
#include <sys/types.h>
#include <sys/stat.h>
#include <unistd.h>
#include <fcntl.h>
#include <signal.h>
#include <sys/time.h>

using namespace std;

void doing(int a)
{
    cout << "被捕捉" << endl;
}

int main(int argc, char **argv)
{

    int a = 0;
    struct itimerval newact = {{3, 0}, {1, 0}};
    //    newact.it_value.tv_sec=2;
    //    newact.it_value.tv_usec=0;
    //    newact.it_interval.tv_sec=1;
    //    newact.it_interval.tv_usec=0;
    setitimer(ITIMER_REAL, &newact, NULL);

    signal(SIGALRM, &doing);

    while (1)
    {
        sleep(1);
        ++a;
        if (a > 10)
            exit(0);
        cout << "我在循环等待" << a << "次" << endl;
    }

    return 0;
}